#ifndef MYHARDWARE_H
#define MYHARDWARE_H

#include "main.h"

#define LED0_on()    HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET)
#define LED0_off()   HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET)
#define LED1_on()    HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET)
#define LED1_off()   HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET)

#define KeyL	HAL_GPIO_ReadPin(Key_left_GPIO_Port, Key_left_Pin)
#define	KeyM	HAL_GPIO_ReadPin(Key_mid_GPIO_Port, Key_mid_Pin)
#define	KeyR	HAL_GPIO_ReadPin(Key_right_GPIO_Port, Key_right_Pin)

#define RGB_white 	32, 32, 32
#define RGB_red		  32, 0,  0
#define RGB_green   0,  32, 0
#define RGB_blue    0,  0,  32
#define RGB_pink    32, 24, 26
#define RGB_miku    14, 50, 48
#define RGB_yellow  32, 28, 2
#define RGB_purple  47, 42, 56
#define	RGB_orange   64, 31, 19
#define RGB_deepblue 24, 30, 39

void Delay_us(uint32_t nus);
void beep(uint32_t ms);
int KeyScan(int click);

void ws2812_set_RGB(uint8_t R, uint8_t G, uint8_t B, uint16_t num);
void ws2812_init(uint8_t led_nums);
void ws2812_example(void);
void ws2812_blue(uint8_t led_nums);
void ws2812_red(uint8_t led_nums);
void ws2812_green(uint8_t led_nums);
void ws2812_updata(uint8_t num);

#endif

